# 饼图
# 导入 matplotlib 库
import matplotlib.pyplot as plt

# 导入中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体
# 解决负号 '-' 显示为方块的问题
plt.rcParams['axes.unicode_minus'] = False

# 定义数据
labels = ['A', 'B', 'C', 'D']
sizes = [20, 30, 25, 25]

# 创建饼图
# plt.pie(sizes, labels=labels, autopct='%1.1f%%')

fig, ax = plt.subplots()
# 自定义颜色，可以使用Matplotlib中的其他颜色映射
colors = ['#ff9999', '#66b3ff', '#99ff99', '#c2c2f0']
explode = (0.1, 0, 0, 0)  # 自定义饼图中的分离
# 自定义饼图的外观
ax.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%',
       shadow=True, startangle=90, wedgeprops={'edgecolor': 'gray'})
# 显示图例
plt.legend()

# sizes：这是饼图的主要数据，即每个部分的相对大小。在饼图中，sizes 列表中的每个元素决定了饼图中各个部分的大小比例。
# matplotlib 会根据这些数值的比例自动计算每一部分的角度和面积。
# labels：这是用来为饼图中的各个部分添加标签。通过labels=labels来指定标签列表。每个标签会显示在相应部分的旁边，标识出该部分代表的数据类别。
# autopct='%1.1f%%'：这是用来设置饼图中每个部分的自动百分比显示的。它定义了显示百分比的格式：
# %1.1f%% 表示在图中显示百分比，1.1f 意味着保留一位小数，%% 是百分比符号。这里是让每一部分的百分比在饼图上显示为 1 位小数的格式。
# 显示图表
plt.show()